diff --git a/system/core/Loader.php b/system/core/Loader.php
index daf326f..7817258 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -642,8 +642,7 @@
 	 */
 	public function config($file, $use_sections = FALSE, $fail_gracefully = FALSE)
 	{
-		$CI =& get_instance();
-		return $CI->config->load($file, $use_sections, $fail_gracefully);
+		return get_instance()->config->load($file, $use_sections, $fail_gracefully);
 	}
 
 	// --------------------------------------------------------------------
diff --git a/system/core/Model.php b/system/core/Model.php
index 1eb6f90..11e6075 100644
--- a/system/core/Model.php
+++ b/system/core/Model.php
@@ -59,8 +59,7 @@
 	 */
 	public function __get($key)
 	{
-		$CI =& get_instance();
-		return $CI->$key;
+		return get_instance()->$key;
 	}
 
 }
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 9f953d4..6656159 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -282,8 +282,7 @@
 		extract($params);
 
 		// Load the xml helper
-		$CI =& get_instance();
-		$CI->load->helper('xml');
+		get_instance()->load->helper('xml');
 
 		// Generate the result
 		$xml = '<'.$root.'>'.$newline;
diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php
index e465412..5cdcdd1 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -59,8 +59,7 @@
 	function set_cookie($name, $value = '', $expire = '', $domain = '', $path = '/', $prefix = '', $secure = FALSE, $httponly = FALSE)
 	{
 		// Set the config file options
-		$CI =& get_instance();
-		$CI->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure, $httponly);
+		get_instance()->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure, $httponly);
 	}
 }
 
@@ -77,9 +76,8 @@
 	 */
 	function get_cookie($index, $xss_clean = FALSE)
 	{
-		$CI =& get_instance();
 		$prefix = isset($_COOKIE[$index]) ? '' : config_item('cookie_prefix');
-		return $CI->input->cookie($prefix.$index, $xss_clean);
+		return get_instance()->input->cookie($prefix.$index, $xss_clean);
 	}
 }
 
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index ece3958..988eee7 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -199,15 +199,13 @@
 		{
 			if ($k === 'src' && strpos($v, '://') === FALSE)
 			{
-				$CI =& get_instance();
-
 				if ($index_page === TRUE)
 				{
-					$img .= ' src="'.$CI->config->site_url($v).'"';
+					$img .= ' src="'.get_instance()->config->site_url($v).'"';
 				}
 				else
 				{
-					$img .= ' src="'.$CI->config->slash_item('base_url').$v.'"';
+					$img .= ' src="'.get_instance()->config->slash_item('base_url').$v.'"';
 				}
 			}
 			else
diff --git a/system/helpers/language_helper.php b/system/helpers/language_helper.php
index 4d571a7..d7aa8e6 100644
--- a/system/helpers/language_helper.php
+++ b/system/helpers/language_helper.php
@@ -52,8 +52,7 @@
 	 */
 	function lang($line, $for = '', $attributes = array())
 	{
-		$CI =& get_instance();
-		$line = $CI->lang->line($line);
+		$line = get_instance()->lang->line($line);
 
 		if ($for !== '')
 		{
diff --git a/system/helpers/security_helper.php b/system/helpers/security_helper.php
index 4bb94a2..7a6df54 100644
--- a/system/helpers/security_helper.php
+++ b/system/helpers/security_helper.php
@@ -49,8 +49,7 @@
 	 */
 	function xss_clean($str, $is_image = FALSE)
 	{
-		$CI =& get_instance();
-		return $CI->security->xss_clean($str, $is_image);
+		return get_instance()->security->xss_clean($str, $is_image);
 	}
 }
 
@@ -66,8 +65,7 @@
 	 */
 	function sanitize_filename($filename)
 	{
-		$CI =& get_instance();
-		return $CI->security->sanitize_filename($filename);
+		return get_instance()->security->sanitize_filename($filename);
 	}
 }
 
@@ -107,8 +105,7 @@
 	 */
 	function strip_image_tags($str)
 	{
-		$CI =& get_instance();
-		return $CI->security->strip_image_tags($str);
+		return get_instance()->security->strip_image_tags($str);
 	}
 }
 
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index b0f4368..2d92897 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -91,8 +91,7 @@
 	 */
 	function current_url()
 	{
-		$CI =& get_instance();
-		return $CI->config->site_url($CI->uri->uri_string());
+		return get_instance()->config->site_url($CI->uri->uri_string());
 	}
 }
 
@@ -109,8 +108,7 @@
 	 */
 	function uri_string()
 	{
-		$CI =& get_instance();
-		return $CI->uri->uri_string();
+		return get_instance()->uri->uri_string();
 	}
 }
 
@@ -127,8 +125,7 @@
 	 */
 	function index_page()
 	{
-		$CI =& get_instance();
-		return $CI->config->item('index_page');
+		return get_instance()->config->item('index_page');
 	}
 }
 
diff --git a/system/libraries/Cache/drivers/Cache_redis.php b/system/libraries/Cache/drivers/Cache_redis.php
index f13e447..48c803d 100644
--- a/system/libraries/Cache/drivers/Cache_redis.php
+++ b/system/libraries/Cache/drivers/Cache_redis.php
@@ -208,7 +208,7 @@
 			{
 				$success = $this->_redis->connect($config['host'], $config['port'], $config['timeout']);
 			}
-			
+
 			if ( ! $success)
 			{
 				log_message('debug', 'Cache: Redis connection refused. Check the config.');
@@ -225,7 +225,7 @@
 		{
 			$this->_redis->auth($config['password']);
 		}
-		
+
 		return TRUE;
 	}
 
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index 67a6550..525880f 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -263,6 +263,13 @@
 	 */
 	protected $_file_name_override	= '';
 
+	/**
+	 * CI Singleton
+	 *
+	 * @var	object
+	 */
+	protected $CI;
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -279,6 +286,7 @@
 		}
 
 		$this->mimes =& get_mimes();
+		$this->CI =& get_instance();
 
 		log_message('debug', 'Upload Class Initialized');
 	}
@@ -479,8 +487,7 @@
 		}
 
 		// Sanitize the file name for security
-		$CI =& get_instance();
-		$this->file_name = $CI->security->sanitize_filename($this->file_name);
+		$this->file_name = $this->CI->security->sanitize_filename($this->file_name);
 
 		// Truncate the file name if it's too long
 		if ($this->max_filename > 0)
@@ -1081,7 +1088,7 @@
 			return FALSE;
 		}
 
-		return get_instance()->security->xss_clean($data, TRUE);
+		return $this->CI->security->xss_clean($data, TRUE);
 	}
 
 	// --------------------------------------------------------------------
@@ -1094,17 +1101,13 @@
 	 */
 	public function set_error($msg)
 	{
-		$CI =& get_instance();
-		$CI->lang->load('upload');
+		$this->CI->lang->load('upload');
 
-		if ( ! is_array($msg))
-		{
-			$msg = array($msg);
-		}
+		is_array($msg) OR $msg = array($msg);
 
 		foreach ($msg as $val)
 		{
-			$msg = ($CI->lang->line($val) === FALSE) ? $val : $CI->lang->line($val);
+			$msg = ($this->CI->lang->line($val) === FALSE) ? $val : $this->CI->lang->line($val);
 			$this->error_msg[] = $msg;
 			log_message('error', $msg);
 		}
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index d263d78..50ff423 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -384,17 +384,13 @@
 			{
 				return call_user_func(array($this, $method_parts[1]), $m);
 			}
+			elseif ($this->object === FALSE)
+			{
+				return get_instance()->$method_parts[1]($m);
+			}
 			else
 			{
-				if ($this->object === FALSE)
-				{
-					$CI =& get_instance();
-					return $CI->$method_parts[1]($m);
-				}
-				else
-				{
-					return $this->object->$method_parts[1]($m);
-				}
+				return $this->object->$method_parts[1]($m);
 			}
 		}
 		else
diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php
index 229b1ec..250ee02 100644
--- a/system/libraries/Zip.php
+++ b/system/libraries/Zip.php
@@ -425,8 +425,7 @@
 			$filename .= '.zip';
 		}
 
-		$CI =& get_instance();
-		$CI->load->helper('download');
+		get_instance()->load->helper('download');
 		$get_zip = $this->get_zip();
 		$zip_content =& $get_zip;
 
